package com.benshou.bcss.common.uuid;

import java.security.SecureRandom;
import java.util.Base64;

/**
 * UUID 工具类
 *
 * @author <a href="mailto:liuzhenbang@benshou.com">Liu Zhenbang</a>
 */
public class UUIDs {

    /**
     * 随机数生成器
     */
    private static final SecureRandom SECURE_RANDOM = new SecureRandom();

    /**
     * 编码器
     */
    private static final Base64.Encoder ENCODER = Base64.getUrlEncoder().withoutPadding();

    /**
     * @return 15 字节的短 UUID（最终位数约为 20 ）
     */
    public static String short15() {
        var bytes = new byte[15];
        SECURE_RANDOM.nextBytes(bytes);
        return ENCODER.encodeToString(bytes);
    }
}
